from abc import ABC, abstractmethod
from typing import Any
import numpy as np
import pandas as pd

class Strategy(ABC):
    """策略基类"""
    
    @abstractmethod
    def generate_signals(self, prices: pd.Series) -> np.ndarray:
        """生成交易信号
        
        参数:
            prices: 价格序列
            
        返回:
            np.ndarray: 交易信号数组，1表示买入，-1表示卖出，0表示持有
        """
        pass